package great.project.bean.component;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class Main {

    public static void main(String[] args) {

        byAnnotation();

        byComponentScan();

    }


    /**
     *  使用 @Comment 注解
     */
    public static void byAnnotation(){
        /*
            使用 @Component 注解的方式 实现 spring bean
         */

        AnnotationConfigApplicationContext annotationConfigApplicationContext = new AnnotationConfigApplicationContext("great.project.bean.component");

        final ZhangSan zhangSan = annotationConfigApplicationContext.getBean("zhangSan", ZhangSan.class);

        System.out.println(zhangSan);
    }


    /**
     *  使用 @CommentScan 包扫描曲线救国
     */
    public static void byComponentScan(){


        /*
            加载 Config 类 然后使用 该类上的 @Component注解
         */
        AnnotationConfigApplicationContext annotationConfigApplicationContext = new AnnotationConfigApplicationContext(Config.class);

        final ZhangSan zhangSan = annotationConfigApplicationContext.getBean("zhangSan", ZhangSan.class);

        System.out.println(zhangSan);

    }

}
